<style type="text/css">
    #hr-staffLabel-update {
        padding: 20px 25px 25px 0;
    }
</style>

<!-- 注意id属性每个页面id必须独立-->
<div class="layui-fluid" id="hr-staffLabel-update">
    <!-- 注意lay-filter属性，该属性为form表单唯一属性-->
    <form class="layui-form" action="" lay-filter="hr-staffLabel-update-form">
        <!-- 隐藏当前对象id-->
        <div class="layui-form-item febs-hide">
            <label class="layui-form-label febs-form-item-require">院校id：</label>
            <div class="layui-input-block">
                <input type="text" name="id" data-th-value="${staffLabel.id}" disabled>
            </div>
        </div>
        <!-- layui-form-item为自适应长度样式 -->
        <div class="layui-form-item">
            <label class="layui-form-label febs-form-item-require">id</label>
            <!-- layui-input-block为整行宽度样式 -->
            <div class="layui-input-block">
                <!-- minlength为最小长度、 maxlength为最大长度-->
                <!-- autocomplete默认填写off,此项为配置使用缓存读取历史记录-->
                <!-- lay-verify为表单验证属性：required：必填项、range于minlength，maxlength公用， character不能输入特殊字符-->
                <!-- 详细表单验证请参考：resources\static\febs\lay\modules\validate.js-->
                <input type="text" name="id" minlength="2" maxlength="20" data-th-id="${staffLabel.id}"
                       lay-verify="range|name" autocomplete="off" class="layui-input" disabled
                style="background:#CCCCCC">
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label febs-form-item-require">标签名称</label>
            <div class="layui-input-block">
                <input type="text" name="staffLabelName" maxlength="100"
                       lay-verify="required|range|name|character" autocomplete="off" class="layui-input">
            </div>
        </div>
        <div class="layui-form-item layui-form-text">
            <label class="layui-form-label">标签备注</label>
            <div class="layui-input-block">
                <textarea name="remark" maxlength="100" class="layui-textarea">
                </textarea>
            </div>
        </div>
        <div class="layui-form-item febs-hide">
            <button class="layui-btn" lay-submit="" lay-filter="staffLabel-update-form-submit"
                    id="hr-staffLabel-update-submit-btn"></button>
        </div>
    </form>
</div>

<script data-th-inline="javascript">
    function htmlEncodeJQ ( str ) {
        return $('<span/>').text( str ).html();
    }

    function htmlDecodeJQ ( str ) {
        return $('<span/>').html( str ).text();
    }
    layui.use(['febs', 'form', 'validate'], function () {
        let $ = layui.$,
            febs = layui.febs,
            layer = layui.layer,
            form = layui.form,
            // 获得后台出入的实体对象
            staffLabel = [[${staffLabel}]],
            // 验证
            validate = layui.validate;
        // 表单验证
        form.verify(validate);
        // 表单渲染
        form.render();
        // 初始化页面数据
        initStaffLabelValue();
        // 初始化页面数据
        function initStaffLabelValue() {
            form.val("hr-staffLabel-update-form", {
                "id": staffLabel.id,
                "staffLabelName": staffLabel.staffLabelName,
                "remark": htmlDecodeJQ(staffLabel.remark)
            });
        }

        // 表单提交事件
        form.on('submit(staffLabel-update-form-submit)', function (data) {
            data.field.remark = htmlEncodeJQ(data.field.remark);
            // 如果都没有修改直接返回
            if (febs.nativeEqual(data.field, staffLabel)) {
                febs.alert.warn('数据未作任何修改！');
                return false;
                // 如果在控制台手动改了id，则无法update
            } else if (data.field.id != staffLabel.id){
                febs.alert.warn('请不要修改id');
                return false;
            }// 如果只修改了名字之外的东西，则直接更新
            else if(febs.nativeEqual(data.field.staffLabelName, staffLabel.staffLabelName)){
                febs.post(ctx + 'staffLabel/update', data.field, function () {
                    layer.closeAll();
                    febs.alert.success('标签数据修改成功');
                    // 点击父页面查询按钮
                    $('#hr-staffLabel').find('#hr-staffLabel-query-btn').click();
                });
                // 如果名字发生变化先进行判断是否重名，如果重名则返回，不重名则修改
            }else {
                // 获得模态窗体的相关信息
                let staffLabelName = data.field.staffLabelName;
                // 异步查询是否重名并且获得新增标签id
                $.ajax({
                    type:'get',
                    url:'staffLabel/isRepetitive',
                    data:{"staffLabelName":staffLabelName},
                    success:function(res){
                        if(res){
                            // 如果没有重名，激发模态窗体的提交按钮（模态窗体的按钮是隐藏的只是为了绑定事件）
                            // 执行模态窗体的点击事件代码
                            febs.post(ctx + 'staffLabel/update', data.field, function () {
                                layer.closeAll();
                                febs.alert.success('院校数据修改成功');
                                $('#hr-staffLabel').find('#hr-staffLabel-query-btn').click();
                            });
                        }else{
                            // 显示错误信息
                            febs.alert.error("输入的标签名称重复，请检查");
                        }
                    }
                })
            }
            return false;
        });
    });
</script>